from django.db import models
from gestione_risorse_mercato.models import *

# Create your models here.
class GruppiDiAcquisto(models.Model):
    id_gas = models.AutoField(primary_key=True)
    nome = models.CharField(max_length=135, blank=True)
    luogo_di_incontro = models.CharField(max_length=135, blank=True)
    data_nascita = models.CharField(max_length=135, blank=True)
    referente = models.CharField(max_length=135, blank=True)
    descrizione = models.CharField(max_length=3072, blank=True)
    pagina_web = models.CharField(max_length=135, blank=True)
    def __unicode__(self):
        return self.nome
    class Meta:
        db_table = u'Gruppi_Di_Acquisto'


class OrdiniDisponibili(models.Model):
    id_ordine = models.AutoField(primary_key=True)
    prodotti_ordinabili = models.ManyToManyField(InventarioProdotti, through='ProdottiOrdinabili', null=True, blank=True)
    stato = models.CharField(max_length=135, blank=True)
    data_creazione = models.DateTimeField(null=True, blank=True)
    data_chiusura = models.DateField(null=True, blank=True)
    data_consegna = models.DateField(null=True, blank=True)
    gas = models.ForeignKey(GruppiDiAcquisto, blank=False)
    def __unicode__(self):
        return '%s %s' % (self.prodotti_ordinabili, self.stato)    
    class Meta:
        db_table = u'Ordini_Disponibili'

class ProdottiOrdinabili(models.Model):
    id_prodotto_disponibile = models.AutoField(primary_key=True)
    ordine = models.ForeignKey(OrdiniDisponibili)
    prodotto= models.ForeignKey(InventarioProdotti)
    class Meta:
        db_table = u'Prodotti_Ordinabili'    


class OrdiniAcquirenti(models.Model):
    id_ordine_acquirente = models.AutoField(primary_key=True)
    utente = models.ForeignKey(Utenti, null=True, blank=True)
    prodotto_ordinabile = models.ForeignKey(ProdottiOrdinabili,null=True, blank=True)
    quantita = models.IntegerField(null=True, blank=True)
    richieste_particolari = models.CharField(max_length=762, blank=True)
    data_ordine = models.DateTimeField(auto_now_add=True)
    def __unicode__(self):
        return '%s ordine %s in data %s' % (self.utente, self.prodotto_ordinabile, self.data_ordine)    
    class Meta:
        db_table = u'Ordini_Acquirenti'